package com.oms.system.service;

import com.oms.system.domain.OmsDeptOrderStatus;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/***
 * 部门和订单状态进行对应关系操作
 * @author lucas
 */
public interface IOrderStatusDeptService {

    /***
     * 插入数据
     * @param deptOrderStatus
     */
    @Transactional(rollbackFor = Exception.class)
    Long insertStatus(OmsDeptOrderStatus deptOrderStatus);

    /***
     * 根据部门id和订单订单状态删除
     * @param orderStatus
     * @param deptId
     */
    @Transactional(rollbackFor = Exception.class)
    void deleteStatus(Integer orderStatus, Long deptId);

    /***
     * 根据主键id删除
     * @param id
     */
    @Transactional(rollbackFor = Exception.class)
    void deleteById(Long id);

    /***
     * 根据部门id获取到部门有权限的状态
     * @param deptId
     * @return
     */
    OmsDeptOrderStatus getDeptStatusList(Long deptId, Integer orderStatus);


    /***
     * 根据部门id获取到部门有权限的状态
     * @param deptId
     * @return
     */
    List<OmsDeptOrderStatus> getDeptList(Long deptId);
}
